package cn.com.dcsgo.mapper;

import cn.com.dcsgo.domain.dto.SysDictTypeQueryDTO;
import cn.com.dcsgo.domain.po.SysDictType;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 针对表【sys_dict_type(字典类型表)】的数据库操作Mapper
 *
 * @author Dcsgo
 * @since 2025-05-23 09:03:32
 */
public interface SysDictTypeMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SysDictType record);

    int insertSelective(SysDictType record);

    SysDictType selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysDictType record);

    int updateByPrimaryKey(SysDictType record);

    /**
     * 根据字典类型请求DTO查询字典类型数据
     *
     * @param params 查询条件
     * @return 查询到的字典类型结果
     */
    List<SysDictType> selectBySysDictTypeQueryDTO(@Param("params") SysDictTypeQueryDTO params);

    /**
     * 判断字典类型是否存在
     *
     * @param dictType 字典类型
     * @return 存在true, 不存在false
     */
    boolean hasDictType(@Param("dictType") String dictType);

    /**
     * 根据字典编号获取字典类型
     *
     * @param dictId 字典编号
     * @return dictId对应的字典类型, 不存在返回 null
     */
    String selectDictTypeByDictId(@Param("dictId") Long dictId);
}
